#ifndef CURIOUS_HPP
#define CURIOUS_HPP

template <typename Derived>
class CuriousBase{
};

class Curious : public CuriousBase<Curious> {
};

template <typename T>
class CuriousTemplate : public CuriousBase<CuriousTemplate<T> > {
};

template <template<typename> class Derived>
class MoreCuriousBase {
};

template <typename T>
class MoreCurious : public MoreCuriousBase<MoreCurious> {
};

#endif